<?php 
	// 思路分析：在要排序的一组数中，选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换，如此循环到倒数第二个数和最后一个数比较为止。 
	
	// 选择排序
	$arr=array(1,43,54,62,21,66,32,78,36,76,39);

	function selectSort($arr) {  
	//双重循环完成，外层控制轮数，内层控制比较次数  
		$len=count($arr);  
		for($i=0; $i<$len-1; $i++) {  
			//先假设最小的值的位置  
			$p = $i;  
			  
			for($j=$i+1; $j<$len; $j++) {  
				//$arr[$p] 是当前已知的最小值  
				if($arr[$p] > $arr[$j]) {  
					//比较，发现更小的,记录下最小值的位置；并且在下次比较时采用已知的最小值进行比较。  
					$p = $j;  
				}  
			}  
			//已经确定了当前的最小值的位置，保存到$p中。如果发现最小值的位置与当前假设的位置$i不同，则位置互换即可。  
			if($p != $i) {  
				$tmp = $arr[$p];  
				$arr[$p] = $arr[$i];  
				$arr[$i] = $tmp;  
			}  
		}  
		//返回最终结果  
		return $arr;  
	} 

	echo '<pre>';
	print_r(selectSort($arr)); 
?>